Bug 143330, support update counter spec.
authorSoeren Sandmann <sandmann@daimi.au.dk>
Sun, 11 Jul 2004 13:26:57 +0000 (13:26 +0000)
committerSøren Sandmann Pedersen <ssp@src.gnome.org>
Sun, 11 Jul 2004 13:26:57 +0000 (13:26 +0000)
commit1a5e92dd611a3b9739fa3e19c8dec1f07be9a296
tree6c1f08a8c5a469a4d3939ec5511235c4896cdee9
parentb1a704b6b8b57ba1cf02581449349a8aaa76a40d
Bug 143330, support update counter spec.

Sun Jul 11 15:24:03 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

Bug 143330, support update counter spec.

* configure.in: Add check for the Sync extension

* gdk/gdkwindow.h: gdk_window_enable_synchronized_configure() and
gdk_window_configure_finished()

* gtk/gtkwindow.c (gtk_window_move_resize): Call gdk_window_finish_configure().
* gtk/gtkwindow.c (gtk_window_realize): Automatically enable
synchronized configures.

* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store current
and pending counter values.

* gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): New function.
* gdk/x11/gdkwindow-x11.c
(gdk_window_enable_synchronized_configure): New function.
* gdk/x11/gdkwindow-x11.c (gdk_toplevel_x11_free_contents):
Delete update counter.
* gdk/x11/gdkwindow-x11.c (set_wm_protocols): Advertise
_NET_WM_SYNC_REQUEST when Sync is available

* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Handle
_NET_WM_SYNC_REQUEST messages
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Save counter
value for use by gdk_window_configure_finished() when receiving
ConfigureNotifies.

* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add use_sync flag
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Check if the XSync
extension is available
* gdk/x11/gdkdisplay-x11.c: Add _NET_WM_SYNC_REQUEST and
_NET_WM_SYNC_REQUEST_COUNTER to list of supported atoms.

* gdk/linux-fb/gdkwindow-fb.c, gdk/win32/gdkwindow-win32.c: Add
stubs for enable_synchronized_configure() and configure_finished()
14 files changed:
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
configure.in
gdk/gdkwindow.h
gdk/linux-fb/gdkwindow-fb.c
gdk/win32/gdkwindow-win32.c
gdk/x11/gdkdisplay-x11.c
gdk/x11/gdkdisplay-x11.h
gdk/x11/gdkevents-x11.c
gdk/x11/gdkwindow-x11.c
gdk/x11/gdkwindow-x11.h
gtk/gtkwindow.c